<!DOCTYPE html>
<html>
<body onload="test();">

<input id="input-box"></input>
<embed id="plugin" type="application/x-webkit-test-webplugin" supports-keyboard-focus="true" contentEditable="false"></embed>
<script>

function focusPluginByTabKeypress() {
    var inputBox = document.getElementById('input-box');
    inputBox.focus();
    eventSender.keyDown('\t');
}

var seenKeyup = false;
function onKeyup(e) {
    if (!seenKeyup) {
        seenKeyup = true;
        // Change focus one more time to make sure we don't see any keypress events.
        focusPluginByTabKeypress();
    } else {
      testRunner.notifyDone();
    }
}

function onKeypress(e) {
    console.log('FAIL: Unexpected keypress event');
    testRunner.notifyDone();
}

function test() {
    if (!window.testRunner || !window.eventSender) {
        document.write("This test does not work in manual mode.");
    } else {
        testRunner.waitUntilDone();
        testRunner.dumpAsText();

        // We will press tab to move the focus from <input> to the plugin.
        // We verify that the plugin only sees keyup events, not any keypress.
        var plugin = document.getElementById('plugin');
        plugin.onkeyup = onKeyup;
        plugin.onkeypress = onKeypress;
        focusPluginByTabKeypress();
    }
}
</script>
</body>
</html>
